package cn.gs.dao;


import cn.gs.entity.User;
import org.springframework.stereotype.Repository;

import java.util.Collections;
import java.util.List;

@Repository
public class UserDaoImpl {

    public UserDaoImpl() {

    }

    public List<User> findUserList() {
        return Collections.singletonList(new User("gs", 18,"注解配置bean"));
    }
}

/**
 * @Repository 是 Spring 框架中用于持久层（DAO 层）的核心注解，用于标识一个类是数据访问对象（DAO）的实现类。
 * 它的主要作用是将数据库操作与业务逻辑分离，使代码更加清晰、可维护。
 * 1.组件扫描标记 与 @Component 同系列注解，表示该类是 Spring 管理的 Bean，会被自动扫描注册到 IoC 容器中（需配合 @ComponentScan 使用）
 * 与 @Component 不同的是，@Repository 通常用于 DAO 层，而 @Component 则更通用，可用于任何 Spring 管理的 Bean。
 *
 * 2. 异常转换 自动将数据访问层抛出的原生异常（如 JDBC 的 SQLException）转换为 Spring 的 DataAccessException 体系
 *
 * 3. 角色标识 明确标识该类属于持久层组件（比普通 @Component 更具语义）
 *
 * **/
